/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.perutaxi.empresa;

import com.perutaxi.entidades.eEmpresaTaxista;
import com.perutaxi.negocio.nEmpresa;
import com.perutaxi.negocio.nEmpresaTaxista;
import com.perutaxi.segu.SessionMBean;
import com.perutaxi.util.GenericMBean;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import org.primefaces.model.chart.CartesianChartModel;
import org.primefaces.model.chart.ChartSeries;

/**
 *
 * @author PeruTaxi
 */
@ManagedBean
@SessionScoped
public class InicioEmpresaMBean extends GenericMBean implements Serializable {

    @ManagedProperty(value = "#{sessionMBean}")
    private SessionMBean sessionMBean;
    private List<eEmpresaTaxista> listaTaxistas;
    private final String url = "/empresa/inicio.xhtml";
    private CartesianChartModel model;

    public InicioEmpresaMBean() {
    }

    public String iniciar() {

        return this.url;
    }

    public SessionMBean getSessionMBean() {
        return sessionMBean;
    }

    public void setSessionMBean(SessionMBean sessionMBean) {
        this.sessionMBean = sessionMBean;
    }

    public List<eEmpresaTaxista> getListaTaxistas() throws Exception {
        return nEmpresaTaxista.obtenerTop5(nEmpresa.obtenerPorIdUser(this.sessionMBean.getSessionUsuario().getId()).getId());
    }

    public void setListaTaxistas(List<eEmpresaTaxista> listaTaxistas) {
        this.listaTaxistas = listaTaxistas;
    }

    public CartesianChartModel getModel() throws Exception {
        this.listaTaxistas = nEmpresaTaxista.obtenerTop5(nEmpresa.obtenerPorIdUser(this.sessionMBean.getSessionUsuario().getId()).getId());
        model = new CartesianChartModel();
        ChartSeries tax = new ChartSeries();
        tax.setLabel("SERVICIOS");
        for (eEmpresaTaxista x: this.listaTaxistas) {
            tax.set(x.getNombres(), x.getCantServicios());
        }
        model.addSeries(tax);
        return model;
    }

    public void setModel(CartesianChartModel model) {
        this.model = model;
    }
}
